import gmpy2
import libnum
import uuid

h1 = 37966971846056703705540796411260144819517870958488488328808184981253365215027608155639472838244608638202984142280394068799538151215106667936482785929980813408328076994184574626910153277820309692618691056905826892339000296141296852277423683218785564685326966544977877656305047531573407973602402957997739931010
h2 = 19711839860372062540917385722782613106805943201150249274098621091449521064382761522952000794229528436515815787944909266183671269865531628074450127453989259046356372655676541081358703102967678828500875967089819285149587857561006913822274957860649024775534832152785948345273653928252334599947082428568635461043
n = 96717029265171353941978347874338147167574541246317372404089194465913641956126718478770242738678855758147208721694856873588267707006532622417995882806729668147371024564266961980443758314606343696116412920151456079755302228862043010952263361765382037428083417194453071707419376934711110021810142998309747614357
c = 81764375759034934606813345812567988721308856197151463531778630113949307268038327385813896030142559187012037029849102345210037214022285535886872084627119255967486501235755823124205790946557555127143469384906952909040843958887678016277348088102903378346991540117854816960760415431971234311776510844736213139562
e = 65537
h11 = pow(h1, 9191, n) * pow(2021, 9191 * 1919, n)
h22 = pow(h2, 1919, n) * pow(2022, 9191 * 1919, n)
q = gmpy2.gcd(h11 - h22, n)
p = n // q
phi = (p - 1) * (q - 1)
d = gmpy2.invert(e, phi)
m = pow(c, d, n)
print(libnum.n2s(int(m)))
